<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    #main {
      /* 计数器名称 */
      counter-reset: main; 
      /* 逆序: X - (-1) = 总条数(此处为6) */
      /* counter-reset: main X;  */
    }
    #main > li::before {
      /* 参数1: 计数器名称  参数2:排序方式(数字及升序为1,默认可不写) */
      counter-increment: main;
      /* 参数1: 计数器  参数2: 连接符 */
      content: counter(main) '. ';
    }

    #main2 {
      /* 计数器名称 */
      /* 逆序: X - (-1) = 总条数(此处为6) */
      counter-reset: main 6; 
    }
    #main2 > li::before {
      /* 参数1: 计数器名称  参数2:排序方式(数字及升序为1,默认可不写) */
      /* 此处为逆序 */
      counter-increment: main -1;
      /* 参数1: 计数器  参数2: 连接符 */
      content: counter(main) '. ';
    }

    #main3 {
      /* 计数器名称 */
      /* 逆序: X - (-1) = 总条数(此处为6) */
      counter-reset: main; 
    }
    #main3 > li::before {
      /* 参数1: 计数器名称  参数2:排序方式(数字及升序为1,默认可不写) */
      /* 此处为逆序 */
      counter-increment: main;
      /* 参数1: (计数器名称, 数字类型)  参数2: 连接符 */
      content: counter(main, upper-roman) '. ';
    }

    #main3 {
      /* 计数器名称 */
      counter-reset: main3; 
      /* 逆序: X - (-1) = 总条数(此处为6) */
      /* counter-reset: main X;  */
    }
    #main3 > li::before {
      /* 参数1: 计数器名称  参数2:排序方式(数字及升序为1,默认可不写) */
      counter-increment: main3;
      /* 参数1: 计数器  参数2: 连接符 */
      content: counters(main3, '.') '. ';  
    }
  </style>
</head>
<body>
  <ul id="main3">
    <li>hello world!!
      <ul id="main3">
        <li>hello world!!</li>
      </ul>
    </li>
    <li>hello world!!</li>
    <li>hello world!!</li>
    <li>hello world!!</li>
    <li>hello world!!</li>
  </ul>
</body>
</html>